#ifndef GAME_H_
#define GAME_H_
#include <iostream>
#include "../model/player.h"
#include "../model/zone.h"
#include "../model/level.h"

#define CAN_SELECT_SHIP 0
#define CAN_FIRE_AND_MOVE 1
#define CAN_MOVE 2

using namespace std;

class Game {
private:
	string levelFilePath;
	string name;
	string description;
	string previewFilePath;

	int goalScore;

	int playerId;

	int tShipState;

	Zone zone;
	Player player[2];
public:

	int isDay;

	Zone& getZone(){return zone;};

	void resetTurn();
	void setPlayerId(int id){playerId=id;};

	void init(string filePath);
	void draw(int mode,int isPicking);
	void drawInfo();

	void resetStates();
	bool isStatic();

	pair<float,float> getCurrentShipsPosition();
	float getCurrentShipsOrientation();
	void selectNextShip();
	void setCurrentShip(int shipId);
	void moveCurrentShip(int mode=-1);

	//phase3
	void setDay(){isDay=DAY;zone.setDay();};
	void setNight(){isDay=NIGHT;zone.setNight();};
};

#endif /* GAME_H_ */
